package org.gd.hellojaxb.privat24.calendar;

import org.gd.hellojaxb.adapters.DateAdaptersFactory;
import org.gd.hellojaxb.adapters.DoubleAdaptersFactory;
import org.gd.hellojaxb.adapters.IntAdaptersFactory;

import javax.xml.bind.annotation.*;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.util.Date;

@XmlRootElement(name = "pay")
@XmlAccessorType(XmlAccessType.FIELD)
public class CalendarPay {

    @XmlAttribute(name = "amt")
    @XmlJavaTypeAdapter(DoubleAdaptersFactory.Amount.class)
    private Double amt;
    @XmlAttribute(name = "ccy")
    private String ccy;
    @XmlAttribute(name = "gcalendar")
    private String gCalendar;
    @XmlAttribute(name = "amt")
    @XmlJavaTypeAdapter(DateAdaptersFactory.EditRegularPayDateFormat.class)
    private Date date;
    @XmlAttribute(name = "receiver")
    private String receiver;
    @XmlAttribute(name = "details")
    private String details;
    @XmlAttribute(name = "st")
    private String st;//='p '
    @XmlAttribute(name = "status")
    private String status;//='a'
    @XmlAttribute(name = "status")
    private String id;//='P243806395555551350456223389'
    @XmlAttribute(name = "ref")
    @XmlJavaTypeAdapter(IntAdaptersFactory.Long.class)
    private Long reference;

    public CalendarPay() {
    }

    public Double getAmt() {
        return amt;
    }

    public CalendarPay setAmt(Double amt) {
        this.amt = amt;
        return this;
    }

    public String getCcy() {
        return ccy;
    }

    public CalendarPay setCcy(String ccy) {
        this.ccy = ccy;
        return this;
    }

    public Date getDate() {
        return date;
    }

    public CalendarPay setDate(Date date) {
        this.date = date;
        return this;
    }

    public String getDetails() {
        return details;
    }

    public CalendarPay setDetails(String details) {
        this.details = details;
        return this;
    }

    public String getgCalendar() {
        return gCalendar;
    }

    public CalendarPay setgCalendar(String gCalendar) {
        this.gCalendar = gCalendar;
        return this;
    }

    public String getId() {
        return id;
    }

    public CalendarPay setId(String id) {
        this.id = id;
        return this;
    }

    public String getReceiver() {
        return receiver;
    }

    public CalendarPay setReceiver(String receiver) {
        this.receiver = receiver;
        return this;
    }

    public Long getReference() {
        return reference;
    }

    public CalendarPay setReference(Long reference) {
        this.reference = reference;
        return this;
    }

    public String getSt() {
        return st;
    }

    public CalendarPay setSt(String st) {
        this.st = st;
        return this;
    }

    public String getStatus() {
        return status;
    }

    public CalendarPay setStatus(String status) {
        this.status = status;
        return this;
    }
}
